<?php

$limitnum = 50;
$con = mysql_connect("m", "root", " ");
if (!$con) {
    die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db("infos", $con);

$sql = "select cate_name as name, n from info_cate"
    . " where ctime = "
    . " (select ctime from info_cate"
    . " order by ctime desc limit 1)"
    . " order by n desc";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $cates[] = $row;
}

$sql = "select cate_name as name, n from info_scancate"
    . " where ctime = "
    . " (select ctime from info_scancate"
    . " order by ctime desc limit 1)"
    . " order by n desc";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $scancates[] = $row;
}

$sql = "select ds_name as name, n from info_scands"
    . " where ctime = "
    . " (select ctime from info_scands"
    . " order by ctime desc limit 1)"
    . " order by n desc";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $scandss[] = $row;
}

$sql = "select br_name as name, n from info_scanbr"
    . " where ctime = "
    . " (select ctime from info_scanbr"
    . " order by ctime desc limit 1)"
    . " order by n desc";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $scanbrs[] = $row;
}

$sql = "select ds.id, name, n from info_barcode as br, info_ds as ds"
    . " where br.ds_id = ds.id"
    . " and ctime = "
    . " (select ctime from info_barcode"
    . " order by ctime desc limit 1)"
    . " order by ds.id";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $rows[] = $row;
}

$sql = "select date(ctime) as dt, allmatch, offpricenum0, onpricenum0, onpricenum1, onpricenum2, onpricenum3"
    . " from info_matchbr_byprice"
    . " order by ctime"
    . " desc limit $limitnum";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_assoc($rs)) {
    $matchbrbyprices[] = $row;
}

$sql = " select concat('max(case when ds_id = ', id, ' then n else 0 end) as \"', name, '\"')"
    . " from info_ds"
    . " order by id";
$rs = mysql_query($sql, $con);
$sql = "select * from ("
    . " select date(ctime) as '时间', ";
while ($row = mysql_fetch_array($rs)) {
    $sql .= $row[0] . ", ";
}
$sql = substr($sql, 0, -2);
$sql .= " from info_barcode as br, info_ds as ds"
    . " where br.ds_id = ds.id"
    . " group by date(ctime)"
    . " order by date(ctime) desc"
    . " limit $limitnum"
    . " ) as a"
    . " order by 时间";
$rs = mysql_query($sql, $con);
$fields = "";
while ($row = mysql_fetch_field($rs)) {
    $fields .= "'" . $row->name . "', ";
}
$fields = substr($fields, 0, -2);

while ($row = mysql_fetch_row($rs)) {
    $trends[] = $row;
}

$sql = "select date(ctime) as date, nomatch, hit, nohit, totalnohit"
    . " from info_hitinfo"
    . " order by date desc"
    . " limit $limitnum";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $hitinfos[] = $row;
}

$sql = "select date(ctime) as date, allscan, nomatch"
    . " from info_matchbr"
    . " order by date desc"
    . " limit $limitnum";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $matchbrs[] = $row;
}

$sql = "select date(ctime) as date, allscan, nomatch"
    . " from info_matchbr_bybr"
    . " order by date desc"
    . " limit $limitnum";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $matchbr_bybrs[] = $row;
}

$sql = "select company_name as cname, group_concat(company_id separator ', ') as ids, sum(nohit) as allnohit, totalnohit"
    . " from info_nohit_company"
    . " where gmt_modified = "
    . " (select gmt_modified from info_nohit_company"
    . " order by gmt_modified desc limit 1)"
    . " group by company_name"
    . " order by nohit desc";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $nohit_company[] = $row;
}

$sql = "select name, scan, totalscan"
    . " from info_dbarcode"
    . " where gmt_modified = "
    . " (select gmt_modified from info_dbarcode"
    . " order by gmt_modified desc limit 1)";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $scan_dbarcode[] = $row;
}

$sql = "select area_name as cname, area_id as ids, nohit, totalnohit"
    . " from info_nohit_area"
    . " where gmt_modified = "
    . " (select gmt_modified from info_nohit_area"
    . " order by gmt_modified desc limit 1)"
    . " order by nohit desc";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $nohit_area[] = $row;
}

$sql = "select date(ctime) as date, allscan, nomatch"
    . " from info_matchposter"
    . " order by date desc";
    //. " limit $limitnum";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $matchposters[] = $row;
}

$sql = "select poster_name as name, n from info_scanposter"
    . " where ctime = "
    . " (select ctime from info_scanposter"
    . " order by ctime desc limit 1)"
    . " order by n desc";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $scanposters[] = $row;
}

$sql = "select poster_name as name, sum(n) as n from info_scanposter"
    . " where locate('期', poster_name) = 0"
    . " group by poster_name"
    . " order by n desc";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $scanallposters[] = $row;
}

$sql = "select poster_name as name, sum(n) as n from info_scanposter"
    . " where locate('期', poster_name) != 0"
    . " group by poster_name"
    . " order by n desc";
mysql_query("set names utf8;");
$rs = mysql_query($sql, $con);
while ($row = mysql_fetch_array($rs)) {
    $scanallposters1[] = $row;
}

mysql_close($con);

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<style type="text/css">

html {background:rgb(123,187,221);}
body {margin:0; padding:0 10px 0 10px; border:0; height:100%; overflow-y:auto; background:rgb(123,187,221);}
body {font-family: Arial, sans-serif; font-size:16px;}
#page {display:block; width:900px; border:1px solid #000; background:#fff; padding:10px;}

#menu {display:block; top:19px; left:940px; width:90px; position:fixed; border:1px solid #888; padding:10px; text-align:center; font-weight:bold; color:#36c; background:rgb(123,187,221);}
* html #menu {position:absolute;}
#menu a:visited, #menu a {display:block; width:80px; height:30px; margin:0 auto; border-top:1px solid #fff; border-bottom:1px solid #000; text-align:center; text-decoration:none; line-height:30px; color:#36c;}
#menu a:hover {background:#aaa; color:#36c;}
* html {position:absolute;}

h1 {
        color: #36c;
}
</style>

<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<title>条码总量:<?php echo $rows[0]['n']; ?></title>
<script type='text/javascript'>

sourcetable = [
<?php
$dbtotal = $rows[0]['n'];
$str = "";
foreach($rows as $row) {
    $prec = number_format(($row['n'] / $dbtotal) * 100, 3);
    $str .= "['${row['name']}', ${row['n']}, {v: $prec, f:'$prec%'}],\n";
}
$str = substr($str, 0, -2);
echo($str . "\n");
?>
];

sourcechart = [
<?php
$str = "";
foreach($rows as $row) {
    if (0 != $row['id']) {
        $str .= "['${row['name']}', ${row['n']}],\n";
    }
}
$str = substr($str, 0, -2);
echo($str . "\n");
?>
];

sourcetrend = [
<?php
$str = "[" . $fields . "],\n";
foreach($trends as $row) {
    $str .= "['" . $row[0] . "', ";
    for ($i = 1; $i < count($row); ++ $i) {
        $str .= $row[$i] . ", ";
    }
    $str = substr($str, 0, -2);
    $str .= "],\n";
}
$str = substr($str, 0, -2);
echo($str . "\n");
?>
];

hitinfotable = [
<?php
$str = "";
foreach($hitinfos as $row) {
    $prec = number_format(($row['hit'] / ($row['hit'] + $row['nohit'])) * 100, 3);
    $str .= "['${row['date']}', ${row['nomatch']}, ${row['hit']}, ${row['nohit']}, {v: $prec, f:'$prec%'}, ${row['totalnohit']}],\n";
}
$str = substr($str, 0, -2);
echo($str . "\n");
?>
];

matchbrtable = [
<?php
$str = "";
foreach($matchbrs as $row) {
    $prec = number_format((1 - $row['nomatch'] / $row['allscan']) * 100, 3);
    $str .= "['${row['date']}', ${row['allscan']}, ${row['nomatch']}, {v: $prec, f:'$prec%'}],\n";
}
$str = substr($str, 0, -2);
echo($str . "\n");
?>
];

matchbr_bybrtable = [
<?php
$str = "";
foreach($matchbr_bybrs as $row) {
    $prec = number_format((1 - $row['nomatch'] / $row['allscan']) * 100, 3);
    $str .= "['${row['date']}', ${row['allscan']}, ${row['nomatch']}, {v: $prec, f:'$prec%'}],\n";
}
$str = substr($str, 0, -2);
echo($str . "\n");
?>
];

nohit_companytable = [
<?php
$str = "";
foreach($nohit_company as $row) {
    $prec = number_format(($row['allnohit'] / $row['totalnohit']) * 100, 3);
    $str .= "['${row['cname']}', '${row['ids']}', ${row['allnohit']}, {v: $prec, f:'$prec%'}],\n";
}
$str = substr($str, 0, -2);
echo($str . "\n");
?>
];

scan_dbarcodetable = [
<?php
$str = "";
$dbarcode = 0;
foreach($scan_dbarcode as $row) {
    $prec = number_format(($row['scan'] / $row['totalscan']) * 100, 3);
    $str .= "['${row['name']}', ${row['scan']}, {v: $prec, f:'$prec%'}],\n";
    if (0 == $dbarcode) {
        $dbarcode = $row['totalscan'];
    }
}
$str = substr($str, 0, -2);
$str = "['总扫描次数', $dbarcode, {v: 100, f: '100.000%'}],\n" . $str;
echo($str . "\n");
?>
];

nohit_areatable = [
<?php
$str = "";
foreach($nohit_area as $row) {
    $prec = number_format(($row['nohit'] / $row['totalnohit']) * 100, 3);
    $str .= "['${row['cname']}', '${row['ids']}', ${row['nohit']}, {v: $prec, f:'$prec%'}],\n";
}
$str = substr($str, 0, -2);
echo($str . "\n");
?>
];

categorychart = [
<?php
$str = "['条码总量', $dbtotal, {v: 100, f: '100.000%'}],\n";
foreach ($cates as $row) {
    $prec = number_format(($row['n'] / $dbtotal) * 100, 3);
    $str .= "['${row['name']}', ${row['n']}, {v: $prec, f: '$prec%'}],\n";
}
$str = substr($str, 0, -2);
$str .= "\n";

echo($str);
?>
];

scancategorychart = [
<?php
$scanbrtotal = 0;
foreach ($scancates as $row) {
    $scanbrtotal += $row['n'];
}

$str = "['用户扫描条码总量', $scanbrtotal, {v: 100, f: '100.000%'}],\n";
foreach ($scancates as $row) {
    $prec = number_format(($row['n'] / $scanbrtotal) * 100, 3);
    $str .= "['${row['name']}', ${row['n']}, {v: $prec, f: '$prec%'}],\n";
}
$str = substr($str, 0, -2);
$str .= "\n";

echo($str);
?>
];

scanbrchart = [
<?php
$str = "['用户扫描条码总量', $scanbrtotal, {v: 100, f: '100.000%'}],\n";
foreach ($scanbrs as $row) {
    $prec = number_format(($row['n'] / $scanbrtotal) * 100, 3);
    $str .= "['${row['name']}', ${row['n']}, {v: $prec, f: '$prec%'}],\n";
}
$str = substr($str, 0, -2);
$str .= "\n";

echo($str);
?>
];

scandschart = [
<?php
$str = "['用户扫描条码总量', $scanbrtotal, {v: 100, f: '100.000%'}],\n";
foreach ($scandss as $row) {
    $prec = number_format(($row['n'] / $scanbrtotal) * 100, 3);
    $str .= "['${row['name']}', ${row['n']}, {v: $prec, f: '$prec%'}],\n";
}
$str = substr($str, 0, -2);
$str .= "\n";

echo($str);
?>
];

scanpriceschart = [
<?php
$str = "";
foreach ($matchbrbyprices as $row) {
//    $str .= "['${row['name']}', ${row['n']}, {v: $prec, f: '$prec%'}],\n";
    $matchbrtotal=$row['allmatch'];
    $str .= "[";
    foreach ($row as $title => $item) {
        if ("dt" != $title && "allmatch" != $title) {
            $prec = number_format(($item / $matchbrtotal) * 100, 3);
            $str .= "'$item / $prec%', ";
        }
        else {
            $str .= "'$item', ";
        }
    }
    $str = substr($str, 0, -2);
    $str .= "],\n";
}
$str = substr($str, 0, -2);
$str .= "\n";

echo($str);
?>
];

matchpostertable = [
<?php
$scanpostertotal = -1;
$str = "";
foreach($matchposters as $row) {
    $prec = number_format((1 - $row['nomatch'] / $row['allscan']) * 100, 3);
    $str .= "['${row['date']}', ${row['allscan']}, ${row['nomatch']}, {v: $prec, f:'$prec%'}],\n";
    if ($scanpostertotal < 0) {
        $scanpostertotal = $row['allscan'] - $row['nomatch'];
    }
    $scanallpostertotal += $row['allscan'] - $row['nomatch'];
}
$str = substr($str, 0, -2);
echo($str . "\n");
?>
];

scanposterchart = [
<?php
$str = "['用户扫描海报总量', $scanpostertotal, {v: 100, f: '100.000%'}],\n";
foreach ($scanposters as $row) {
    $prec = number_format(($row['n'] / $scanpostertotal) * 100, 3);
    $str .= "['${row['name']}', ${row['n']}, {v: $prec, f: '$prec%'}],\n";
}
$str = substr($str, 0, -2);
$str .= "\n";

echo($str);
?>
];

scanallposterchart = [
<?php
$str = "['用户扫描海报总量', $scanallpostertotal, {v: 100, f: '100.000%'}],\n";
foreach ($scanallposters as $row) {
    $prec = number_format(($row['n'] / $scanallpostertotal) * 100, 3);
    $str .= "['${row['name']}', ${row['n']}, {v: $prec, f: '$prec%'}],\n";
}
$str = substr($str, 0, -2);
$str .= "\n";

echo($str);
?>
];

scanallposter1chart = [
<?php
$str = "['用户扫描海报总量', $scanallpostertotal, {v: 100, f: '100.000%'}],\n";
foreach ($scanallposters1 as $row) {
    $prec = number_format(($row['n'] / $scanallpostertotal) * 100, 3);
    $str .= "['${row['name']}', ${row['n']}, {v: $prec, f: '$prec%'}],\n";
}
$str = substr($str, 0, -2);
$str .= "\n";

echo($str);
?>
];

google.load('visualization', '1', {packages:['table', 'corechart', 'corechart']});
google.setOnLoadCallback(drawAll);

function drawAll() {
    drawTable('source_table_div', sourcetable, '条码来源');
    drawSourceChart('source_chart_div', sourcechart, '条码来源占比');
    drawSourceVisualization('source_combochart_div', sourcetrend);

    drawTable('category_table_div', categorychart, '类目');
    drawHitinfoTable('hitinfo_table_div', hitinfotable);
    drawMatchinfoTable('matchbr_table_div', matchbrtable);
    drawMatchinfoTable('matchbr_bybr_table_div', matchbr_bybrtable);
    drawNohitCompaniesTable('nohit_company_table_div', nohit_companytable);
    drawNohitAreasTable('nohit_area_table_div', nohit_areatable);
    drawTable('scan_category_table_div', scancategorychart, '类目');
    drawTable('scan_barcode_table_div', scanbrchart, '条码');
    drawTable('scan_source_table_div', scandschart, '来源');
    drawTable0('scan_prices_table_div', scanpriceschart, '来源');

    drawMatchinfoTable('matchposter_table_div', matchpostertable);
    drawTable('scan_poster_table_div', scanposterchart, '海报');
    drawTable('scanall_poster_table_div', scanallposterchart, '海报');
    drawTable('scanall_poster1_table_div', scanallposter1chart, '杂志');

    drawTable('scan_dbarcode_table_div', scan_dbarcodetable, '二维码');
}

function drawTable0(id, dbdata, name) {
    var data = new google.visualization.DataTable();
    data.addColumn('string', '日期');
    data.addColumn('string', '总匹配数量');
    data.addColumn('string', '无线下');
    data.addColumn('string', '无线上');
    data.addColumn('string', '1~5个线上');
    data.addColumn('string', '5~10个线上');
    data.addColumn('string', '10个以上线上');
    data.addRows(dbdata);

    var options = {'title':'各' + name + '占比',
        allowHtml: true,
        firstRowNumber: 0,
        showRowNumber: true,
        sortColumn: 0,
        'width':900
    };

    var table = new google.visualization.Table(document.getElementById(id));
    table.draw(data, options);
}

function drawTable(id, dbdata, name) {
    var data = new google.visualization.DataTable();
    data.addColumn('string', name);
    data.addColumn('number', '数量');
    data.addColumn('number', '百分比');
    data.addRows(dbdata);

    var options = {'title':'各' + name + '占比',
        allowHtml: true,
        firstRowNumber: 0,
        showRowNumber: true,
        sortColumn: 1,
        sortAscending: false,
        'width':900
    };

    var table = new google.visualization.Table(document.getElementById(id));
    var formatter = new google.visualization.BarFormat({width: 250});
    formatter.format(data, 1);
    table.draw(data, options);
}

function drawHitinfoTable(id, dbdata) {
    var data = new google.visualization.DataTable();
    data.addColumn('string', '时间');
    data.addColumn('number', '未匹配条码');
    data.addColumn('number', '命中条码');
    data.addColumn('number', '未命中条码');
    data.addColumn('number', '命中率');
    data.addColumn('number', '累计未命中条码');
    data.addRows(dbdata);

    var options = {
        allowHtml: true,
            firstRowNumber: 0,
            showRowNumber: true,
            sortColumn: 0,
            'width':900
    };

    var table = new google.visualization.Table(document.getElementById(id));
    table.draw(data, options);
}

function drawMatchinfoTable(id, dbdata) {
    var data = new google.visualization.DataTable();
    data.addColumn('string', '时间');
    data.addColumn('number', '总扫描');
    data.addColumn('number', '未匹配到');
    data.addColumn('number', '匹配率');
    data.addRows(dbdata);

    var options = {
        allowHtml: true,
            firstRowNumber: 0,
            showRowNumber: true,
            sortColumn: 0,
            'width':900
    };

    var table = new google.visualization.Table(document.getElementById(id));
    table.draw(data, options);
}

function drawNohitCompaniesTable(id, dbdata) {
    var data = new google.visualization.DataTable();
    data.addColumn('string', '商家名称');
    data.addColumn('string', '商家前缀');
    data.addColumn('number', '未命中到');
    data.addColumn('number', '未命中率');
    data.addRows(dbdata);

    var options = {
        allowHtml: true,
            firstRowNumber: 0,
            showRowNumber: true,
            sortColumn: 2,
            sortAscending: false,
            'width':900
    };

    var table = new google.visualization.Table(document.getElementById(id));
    table.draw(data, options);
}

function drawNohitAreasTable(id, dbdata) {
    var data = new google.visualization.DataTable();
    data.addColumn('string', '地区名称');
    data.addColumn('string', '地区前缀');
    data.addColumn('number', '未命中到');
    data.addColumn('number', '未命中率');
    data.addRows(dbdata);

    var options = {
        allowHtml: true,
            firstRowNumber: 0,
            showRowNumber: true,
            sortColumn: 2,
            sortAscending: false,
            'width':900
    };

    var table = new google.visualization.Table(document.getElementById(id));
    table.draw(data, options);
}

function drawSourceChart(id, dbdata, title) {
    var data = new google.visualization.DataTable();
    data.addColumn('string', '来源');
    data.addColumn('number', '条码数量');
    data.addRows(dbdata);

    var options = {'title':title,
        legend: {textStyle: {fontSize: 12}},
        'width':900,
        'height':300};

    var chart = new google.visualization.PieChart(document.getElementById(id));
    chart.draw(data, options);
}

function drawSourceVisualization(id, dbdata) {
    // Some raw data (not necessarily accurate)
    var data = google.visualization.arrayToDataTable(dbdata);

    var options = {title : '条码变化趋势',
        'width':900,
        'height':500,
        legend: {textStyle: {fontSize: 12}},
        vAxis: {color:'#ff0000', textStyle: {fontSize: 12}},
        seriesType: "bars",
        series: {0: {type: "line"}}
    };

    var chart = new google.visualization.ComboChart(document.getElementById(id));
    chart.draw(data, options);
}

</script>
</head>
<body>

<div id="menu">
<a href="#br">来源分布</a>
<a href="#cate">类目分布</a>

<p></p>
<a href="#hit">补全情况</a>
<a href="#matchbr">条码匹配</a>
<a href="#nohitcompany">商家分布</a>
<a href="#nohitarea">地区分布</a>

<p></p>
<a href="#scancate">扫描类目</a>
<a href="#scanbr">扫描条码</a>
<a href="#scands">扫描来源</a>
<a href="#scanprices">扫描价格</a>

<p></p>
<a href="#matchposter">海报匹配</a>
<a href="#scanposter">最近扫描</a>
<a href="#scanallposter">电影累计</a>
<a href="#scanallposter1">杂志累计</a>

<p></p>
<a href="#scandbarcode">二维码</a>
</div>

<a id="br"><br></a>
<div id="page">

<h1>条码来源分布</h1>
<div id='source_table_div'></div>
<div id='source_chart_div'></div>
<div id='source_combochart_div'></div>
</div>

<a id="cate"><br></a>
<div id="page">

<h1>条码类目分布</h1>
<div id='category_table_div'></div>
</div>

<a id="hit"><br></a>
<div id="page">

<h1>未匹配条码补全情况</h1>
<div id='hitinfo_table_div'></div>
</div>

<a id="matchbr"><br></a>
<div id="page">

<h1>用户扫描条码匹配情况(按次数)</h1>
<div id='matchbr_table_div'></div>

<h1>用户扫描条码匹配情况(按条码)</h1>
<div id='matchbr_bybr_table_div'></div>
</div>

<a id="nohitcompany"><br></a>
<div id="page">

<h1>未命中条码商家分布</h1>
<div id='nohit_company_table_div'></div>
</div>

<a id="nohitarea"><br></a>
<div id="page">

<h1>未命中条码地区分布</h1>
<div id='nohit_area_table_div'></div>
</div>

<a id="scancate"><br></a>
<div id="page">

<h1>用户扫描类目分布</h1>
<div id='scan_category_table_div'></div>
</div>

<a id="scanbr"><br></a>
<div id="page">

<h1>用户扫描条码分布</h1>
<div id='scan_barcode_table_div'></div>
</div>

<a id="scands"><br></a>
<div id="page">

<h1>用户扫描来源分布</h1>
<div id='scan_source_table_div'></div>
</div>

<a id="scanprices"><br></a>
<div id="page">

<h1>用户扫描价格分布</h1>
<div id='scan_prices_table_div'></div>
</div>

<a id="matchposter"><br></a>
<div id="page">

<h1>用户扫描海报匹配情况</h1>
<div id='matchposter_table_div'></div>
</div>

<a id="scanposter"><br></a>
<div id="page">

<h1>用户扫描海报分布(前一天)</h1>
<div id='scan_poster_table_div'></div>
</div>

<a id="scanallposter"><br></a>
<div id="page">

<h1>用户扫描海报分布(电影累计)</h1>
<div id='scanall_poster_table_div'></div>
</div>

<a id="scanallposter1"><br></a>
<div id="page">

<h1>用户扫描海报分布(杂志累计)</h1>
<div id='scanall_poster1_table_div'></div>
</div>

<a id="scandbarcode"><br></a>
<div id="page">

<h1>二维码扫描分布</h1>
<div id='scan_dbarcode_table_div'></div>
</div>

<br>

</body>
</html>

